﻿using System;
using System.Collections.Generic;
using System.Text;

namespace VISTA
{
    public static class Sesion
    {

        [ThreadStatic]
        private static int _idUsuario;
        public static int IDUsuario
        {
            get { return _idUsuario; }
            set { _idUsuario = value; }
        }

        [ThreadStatic]
        private static MODELO.dtsUsuarios.UsuarioRow _usuario;
        public static MODELO.dtsUsuarios.UsuarioRow Usuario
        {
            get { return _usuario; }
            set { _usuario = value; }
        }

        [ThreadStatic]
        private static DateTime _fechaHoraLogueo;
        public static DateTime FechaHoraLogueo
        {
            get { return _fechaHoraLogueo; }
            set { _fechaHoraLogueo = value; }
        }

        [ThreadStatic]
        private static DateTime _fechaHoraLogout;
        public static DateTime FechaHoraLogout
        {
            get { return _fechaHoraLogout; }
            set { _fechaHoraLogout = value; }
        }

        private static Logging _logging;
        public static Logging Logging
        {
            get
            {
                if (_logging == null)
                {
                    _logging = new Logging();
                }
                return _logging;
            }
        }

        internal static void Loguin(MODELO.dtsUsuarios.UsuarioRow usuario)
        {
            IDUsuario = usuario.ID_Usuario;
            Usuario = usuario;
            FechaHoraLogueo = DateTime.Now;

            Logging.Log("Login", FechaHoraLogueo, Usuario.NombreUsuario);

        }

        internal static void Logout()
        {
            FechaHoraLogout = DateTime.Now;
            if (Usuario != null)
            {
                Logging.Log("Logout", FechaHoraLogout, Usuario.NombreUsuario);
            }
        }

    }
}
